import markCar from '@/assets/images/map/marker-icon/mark-car.png'
/**
 * 默认mark 样式配置
 */
export const markStypeDefaultConfig = {
  singleMark: {
    pointType: 'singleMark', // 单mark 样式配置
    markConfig: {
      radius: 8,
      fillColor: '#4262D5',
      strokeColor: '#fff',
      strokeWidth: 3,
      size: 16,
      url: markCar,
      scale: 0.5
    }
  },
  clusterMark: { // 聚合点位样式配置
    pointType: 'clusterMark', // 单mark 样式配置
    markConfig: {
      innerRadius: 16,
      innerFillColor: 'rgba(255, 165, 0, 0.7)',
      outerRadius: 22,
      outerFillColor: 'rgba(255, 153, 102, 0.3)',
      textFillColor: '#fff',
      textStrokeColor: 'rgba(0, 0, 0, 0.6)',
      textStrokeWidth: 3,
      textScale: 1.2,
      text: '2',
      url: markCar,
      scale: 0.5
    }
  }
}

/**
 * 点击mark OverlayPopup 配置项
 */
export const actionOverlayConfig = { // popup 弹框 配置项，必须有overlayElement 对象才可以
  show: false,
  id: 'popup',
  className: 'mark-overlay-popup',
  offset: [0, 0], // 定位覆盖时使用的像素偏移。阵列中的第一个元素是水平偏移。正值将向右移动覆盖。阵列中的第二个元素是垂直偏移。正值向下移动覆盖。
  positioning: 'top-left' // 定义覆盖相对于其位置属性的实际位置。可能的值有'bottom-left', 'bottom-center', 'bottom-right', 'center-left', 'center-center', 'center-right', 'top-left', 'top-center', 和 'top-right'
}
/**
 * 默认配置项
 * config:{
 *    type: 'MarkerLayer',
      layerProperties:{}||undefined // layer 属性
      points, //  marks point 信息，必须包含经纬度
      lnglatConfig:{ // 经纬度字段配置，默认使用lng:经度,lat:纬度
        lng:'lng',
        lat:'lat'
      },
      layerStyle: [],// 未选中样式,必须是个数组
      selectLayerStyle:[],// 选中样式,必须是个数组，此项没有时默认使用style 样式
      clusterConfig：{ // 聚合点点击事件配置
        scatter: true, // 聚合点点击时，是散开成单点还是返回聚合数据列表，true->散开成单点，false-> 返回聚合数据列表,默认散开成单点
        size: [60, 60], // 要放入范围的框的大小（以像素为单位）,scatter必须为true 时才起作用
        duration: 1000 // 动画的持续时间（毫秒）,scatter必须为true 时才起作用
      },
      action: [{ // marks 事件数组，目前仅支持hover 和click 两种模式
        type: 'click',
        hitTolerance: 10, // 命中容差
        handle: this.handleMarkHover, //  事件回调函数

      }],
      actionOverlayConfig: { // popup 弹框 配置项，必须有overlayElement 对象才可以
        show: false,
        id: 'popup',
        className: 'mark-overlay-popup',
        offset: [0, 0], // 定位覆盖时使用的像素偏移。阵列中的第一个元素是水平偏移。正值将向右移动覆盖。阵列中的第二个元素是垂直偏移。正值向下移动覆盖。
        positioning: 'top-left' // 定义覆盖相对于其位置属性的实际位置。可能的值有'bottom-left', 'bottom-center', 'bottom-right', 'center-left', 'center-center', 'center-right', 'top-left', 'top-center', 和 'top-right'
      }
  }
 * layerStyle，markSelectStyle // 配置例子如下:[{
        type: 'singleMark',
        legend: 1,
        pointType: 'image',
        style: {
          url: this.markCar
        }

      }, {
        type: 'singleMark',
        legend: 2,
        pointType: 'image',
        style: {
          url: this.markCar
        }

      }]
      style 配置项参见markStypeDefaultConfig 配置项
 */
export const markOptionDefaultConfig = {
  type: 'MarkerLayer',
  layerProperties: {
    name: 'MarkerLayer',
    id: 'MarkerLayer',
    geometryName: 'MarkerLayer'
  },
  points: [],
  layerStyle: [],
  markSelectStyle: [],
  lnglatConfig: {
    lng: 'lng',
    lat: 'lat'
  },
  clusterConfig: {
    scatter: false, // 聚合点点击时，是散开成单点还是返回聚合数据列表，true->散开成单点，false-> 返回聚合数据列表,默认散开成单点
    size: [60, 60], // 要放入范围的框的大小（以像素为单位）,scatter必须为true 时才起作用
    duration: 1000 // 动画的持续时间（毫秒）,scatter必须为true 时才起作用
  },
  actions: [],
  actionOverlayConfig: { // popup 弹框 配置项，必须有overlayElement 对象才可以
    show: false,
    id: 'popup',
    className: 'mark-overlay-popup',
    offset: [10, -20], // 定位覆盖时使用的像素偏移。阵列中的第一个元素是水平偏移。正值将向右移动覆盖。阵列中的第二个元素是垂直偏移。正值向下移动覆盖。
    positioning: 'top-left' // 定义覆盖相对于其位置属性的实际位置。可能的值有'bottom-left', 'bottom-center', 'bottom-right', 'center-left', 'center-center', 'center-right', 'top-left', 'top-center', 和 'top-right'
  }
}
